using System;

public class UePTException : Exception
{

  public Error error { get; }
  public UePTException()
  {
    this.error = Error.Err;
  }

  // 带消息的构造函数
  public UePTException(string message) : base(message)
  {
    this.error = Error.Err;

  }

  // 带消息和内部异常的构造函数
  public UePTException(string message, Exception innerException) : base(message, innerException)
  {
    this.error = Error.Err;

  }

  public UePTException(Error error) : base(error.desc)
  {
    this.error = error;
  }

  // 带消息和错误代码的构造函数
  public UePTException(string message, Error error) : base(message)
  {
    this.error = error;
  }

  // 带消息、错误代码和内部异常的构造函数
  public UePTException(string message, Error error, Exception innerException)
      : base(message, innerException)
  {
    this.error = error;
  }
}
